package it.eng.area118.mdocommon;

/**
 * 
 * @author Luigi Bifulco
 * 
 *         Generic ServiceInvoker interface
 */
public interface ServiceInvoker {

	/**
	 * This method must be used to make service invocation using a
	 * {@link ServiceEndPoint}
	 * 
	 * @param <Result>
	 * @param request
	 * @param endPoint
	 * @return
	 */
	public <Params, Result> Result invoke(ServiceEndPoint<Result> endPoint, Params request) throws Exception;

}
